﻿// Inner Fire 游戏引擎库
// Element - 元素对象
//
// Copyright (c) 2025 by 尔西大帝. All rights reserved.
//
// 所属层级：基础结构层(1)
// 用来处理像“Name:Value”这样的字符串组。
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2025-01-19

#include "element.h"

namespace ikit {


sstr pick_element_name(sstr element) {
  size_t colonPos = element.index_of(':');
  // 如果没有找到冒号，说明只有name部分
  if (colonPos == -1) {
    return element;
  }
  // 得到前半部分
  return element.substr(0, colonPos);
}

sstr pick_element_value(sstr element) {
  size_t colonPos = element.index_of(':');
  // 如果没有找到冒号，说明只有name部分
  if (colonPos == -1) {
    return sstr();
  }
  // 得到后半部分
  return element.substr(colonPos + 1);
}

str_element::str_element(sstr text) {
  // 查找冒号的位置
  size_t colonPos = text.index_of(':');

  // 如果没有找到冒号，说明只有catalog部分
  if (colonPos == -1) {
    name = text;
    value = sstr();
    return;
  }

  // 分割catalog和name
  name = text.substr(0, colonPos);
  value = text.substr(colonPos + 1);
}

str_element::str_element(sstr _name, sstr _value)
    : name(_name), value(_value) {}

} // namespace ikit